<?php

/* 
 * FUNCAO QUE CONVERTE DADOS BINARIO COM BASE64 DE UMA IMAGEM 
 * EM UM AQUIVO PNG
 * @PARAM STRING $binary
 * @PARAM STRING $path_img
 * @PARAM STRING $folder
 * RETURN BOOL
 */
function binaryToImage($binary, $path_img, $folder){
    try{
        /*#############################################
         * TRANSFORMA EM UM ARRAY O NOME DA IMAGEM    */
        $exp_img = explode(".", basename($path_img));

        /*#####################################
         * TROCA O HANDLE DO ARQUIVO E RETIRA O 
         * ESPACO EM BRACO  */
        $strBinary = str_replace('data:image/png;base64,', '', $binary);
        $strBinary = str_replace(' ', '+', $strBinary);
        /*##########################################
         * DECODIFICA O BINARIO E SALVA O ARQUIVO DA 
         * IMAGEM  */
        $data      = base64_decode($strBinary);
        $file      = $folder.$exp_img[0].".png";
        $success   = file_put_contents($file, $data);
        
        if($success){
            /*##############################
             * APAGA A IMAGEM TEMPORARIA  */
            unlink($folder.$exp_img[0].".{$exp_img[1]}");
            return json_encode(array("status"=>true,"msg"=>"Imagem processada."));
        }else{
            throw new Exception("Erro ao processar a imagem",0);
        }
    }catch(Exception $ex){
        return json_encode(array("status"=>false,"msg"=>$ex->getMessage()));
    }
}


